package com.kingyea.mobilepolice.apimanage.log.service;

import com.kingyea.mobilepolice.apimanage.log.bean.OperationLog;

import java.util.List;
import java.util.Map;
import java.util.concurrent.Future;

/**
 * @author Mr.Lin
 * @version v1.0.0
 * @description OperationLog 接口
 * @date Created in 2018-02-27 16:20:46
 */
public interface OperationLogService {

    /**
     * 通过ID查找对象
     *
     * @param id
     * @return
     */
    OperationLog getById(Long id) throws Exception;

    /**
     * 列表
     *
     * @param operationLog
     * @return
     */
    List<OperationLog> list(OperationLog operationLog) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     */
    int deleteById(Long id) throws Exception;

    /**
     * 添加
     *
     * @param operationLog
     * @return
     */
    OperationLog save(OperationLog operationLog) throws Exception;

    /**
     * 异步添加方法，给系统日志用
     *
     * @param operationLog
     * @return
     */
    Future<OperationLog> asyncSave(OperationLog operationLog) throws Exception;


    /**
     * 更新
     *
     * @param operationLog
     * @return
     */
    OperationLog update(OperationLog operationLog) throws Exception;

    Object searchByCondition(Map<String, Object> map) throws Exception;
}
